Modern applications are characterized by multiple components deployed across multiple network tiers accessed by users across a network. Examples of applications include enterprise applications, such as Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), Supply Chain Management (SCM), and Online Banking, Brokerage, Insurance and Retailing applications. An application typically provides a variety of business functions that users may execute. For example, an online stock trading application may provide some of the following business functions: log in, display account status, retrieve stock prospectus, sell stock, buy stock and log out.
When a user executes such a business function, a sequence of transactions is performed by the application, with each transaction consisting of a source node transmitting a request (via network message) to a destination node often on another tier, and perhaps waiting for a reply message. The destination node processes the request and in the processing consumes local (server) resources such as CPU, disk input/output, and memory and may generate subsequent requests (subtransactions) to other nodes.
The time that elapses between the user executing the business function (submitting his or her request) and the display of the results on the user's workstation is called the end user response time. The end user response time is typically the most critical measure of end user satisfaction with application performance. If the response times are too long, end users will be unsatisfied and many will take their business elsewhere.
In order to maintain and improve good end user performance, application and system managers must understand the current performance of their applications, be able to identify and predict current and future performance problems, and evaluate potential solutions to those problems. Any given application performance problem is a reflection of application performance, data size, network performance and network congestion. Determining which domain of responsibility a particular application performance problem falls into is a complex evaluation of the constituent parts of the end user response time measure.
Accordingly, it would be advantageous to provide visual representations of the constituent parts of end user response time measurements that enable the user to identify the cause or causes of various performance issues.